import java.util.HashMap;

public class Solution {
    //至少有k个重复字串
    public int longestSubstring(String s, int k) {
        if(s.length() < k) {
            return 0;
        }
        //使用数组统计字符出现次数
        int[] arr = new int[26];
        for(int i = 0 ; i < s.length(); i++) {
            arr[s.charAt(i) - 'a']++;
        }
        //遍历数组，找到出现次数小于k的字符
        for(int i = 0; i < 26; i++) {
            if(arr[i] != 0 && arr[i] < k) {
                int res = 0;
                int c = 97 + i;
                //找到了，在字符串里找对应的位置
                for(String a : s.split(String.valueOf((char)c))) {
                    //继续递归分割，找到最大的字串个数
                    res = Math.max(res,longestSubstring(a,k));
                }
                return res;
            }
        }
        return s.length();
    }
}
